package com.vr.xuecheng.content.model.vo;

import com.vr.xuecheng.content.model.entity.TeachPlanMedia;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @author hzh
 * @date 2025/03/09
 * 课程计划树形结构dto
 */
@Data
public class TeachPlanWithTreeVO implements Serializable {
    @Serial
    private static final long serialVersionUID = -7170487243024756759L;

    /**
     * 主键
     */
    private Long id;

    /**
     * 课程计划名称
     */
    private String pname;

    /**
     * 课程计划父级Id
     */
    private Long parentid;

    /**
     * 层级，分为1、2、3级
     */
    private Integer grade;

    /**
     * 课程类型:1视频、2文档
     */
    private String mediaType;

    /**
     * 开始直播时间
     */
    private LocalDateTime startTime;

    /**
     * 直播结束时间
     */
    private LocalDateTime endTime;

    /**
     * 章节及课程时介绍
     */
    private String description;

    /**
     * 时长，单位时:分:秒
     */
    private String timelength;

    /**
     * 排序字段
     */
    private Integer orderby;

    /**
     * 课程标识
     */
    private Long courseId;

    /**
     * 课程发布标识
     */
    private Long coursePubId;

    /**
     * 状态（1正常  0删除）
     */
    private Integer status;

    /**
     * 是否支持试学或预览（试看）
     */
    private String isPreview;

    /**
     * 子节点列表
     */
    private List<TeachPlanWithTreeVO> teachPlanTreeNodes;

    /**
     * 教学计划关联的媒体信息
     */
    private TeachPlanMedia teachplanMedia;
}
